'''
Author: dvlproad
Date: 2023-10-19 12:55:27
LastEditors: dvlproad
LastEditTime: 2023-10-19 13:10:35
Description: 获取git文件的用户(作者、最后修改者)信息
'''
import os
from git import Repo # 需要执行以下命令为python安装git: pip install gitpython

# 获取当前脚本文件的路径及其所在的目录路径
script_path = os.path.abspath(__file__)
CurrentDIR_Script_Absolute = os.path.dirname(script_path)

# 仓库路径
repo_path = os.path.dirname(CurrentDIR_Script_Absolute)
# 文件路径
file_path = os.path.join(repo_path, "Flutter/lib/main.dart")
print(f"你要检查的文件: {file_path}")
if not os.path.isfile(file_path):
    print(f"文件不存在，请检查 {file_path}")
    exit(1)

# 打开仓库
repo = Repo(repo_path)

# 获取文件的历史记录
log_output = repo.git.log("--follow", "--format=%an|%cn", "--", file_path)

# 获取第一个提交的作者
first_author = log_output.split("|")[0]

# 获取最后一个提交的最后修改者
last_modifier = log_output.split("|")[-1]

# 打印作者和最后修改者信息
print(f"文件作者: {first_author}")
print(f"最后修改者: {last_modifier}")